package com.hope.hotel.service;
import com.hope.hotel.entity.po.Message;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hope.hotel.common.Result;

/**
 * <p>
 * 消息服务接口
 * </p>
 *
 * @author author
 * @since 2025-05-30
 */
public interface IMessageService extends IService<Message> {

    /**
     * 分页获取消息列表
     * @param page 页码
     * @param pageSize 每页大小
     * @return 分页结果
     */
    Result getMessageList(int page, int pageSize);

    /**
     * 根据ID获取消息详情
     * @param id 消息ID
     * @return 消息详情
     */
    Result getMessageById(Long id);

    /**
     * 添加新消息
     * @param message 消息实体
     * @return 操作结果
     */
    Result addMessage(Message message);

    /**
     * 更新消息
     * @param message 消息实体
     * @return 操作结果
     */
    Result updateMessage(Message message);

    /**
     * 删除消息
     * @param id 消息ID
     * @return 操作结果
     */
    Result deleteMessage(Long id);

    /**
     * 标记消息为已读
     * @param id 消息ID
     * @return 操作结果
     */
    Result markAsRead(Long id);

    /**
     * 获取未读消息数量
     * @return 未读消息数
     */
    Result getUnreadCount();
}